package net.cloudcodex.client.character.detail.view;

import com.google.gwt.event.dom.client.HasClickHandlers;
import com.google.gwt.event.logical.shared.HasValueChangeHandlers;
import com.google.gwt.i18n.client.Messages;
import com.google.gwt.user.client.ui.IsWidget;

public interface CharacterDetailView extends IsWidget, HasValueChangeHandlers<Object> {

	public interface Message extends Messages {
		public String getButtonCancel();

		public String getButtonUpdate();

		public String getLabelAdvancedInformation();

		public String getLabelDead();

		public String getLabelNoteGM();

		public String getLabelNotePlayer();

		public String getLabelIcon();

		public String getLabelLocked();

		public String getLabelName();

		public String getLabelPersonnalNote();

		public String getLabelPrivateDescription();

		public String getLabelPublicDescription();

		public String getLabelSeparation();
	}

	public HasClickHandlers getCancelButton();

	public HasClickHandlers getUpdateButton();

	public void setUpdateButtonEnabled(boolean enabled);

	public void displayAdvancedInformation(boolean display);

	public void setCharacter(String name, String icon);

	public Boolean isLocked();

	public void setLocked(Boolean locked);

	public Boolean isDead();

	public void setDead(Boolean dead);

	public String getPublicDescription();

	public void setPublicDescription(String description, boolean editable);

	public String getPrivateDescription();

	public void setPrivateDescription(String description, boolean editable);

	public String getPersonnalNote();

	public void setPersonnalNote(String note);

	public String getNote(Long characterId);

	public void setNote(Long characterId, String characterName, String icon, String note, boolean editable);

	public String getAlias(Long characterId);

	public void setAlias(Long characterId, String characterName, String alias);

}
